#include<bits/stdc++.h>
using namespace std;

int n,x;
vector<int> vec[35];

int main(){
	scanf("%d",&n);
	int l,r,m;
	for(int i=0;i<n;i++){
		scanf("%d",&x);
		if(x==0) {
			vec[0].emplace_back(0);
			continue;
		}
		l=0;r=31;
		while(l<r-1){
			m=(r-l)/2+l;
			int u=1<<m;
			if(u>x) r=m-1;
			else if(u==x){
				l=m;r=m+1;
			}
			else l=m;	
		}
		vec[l].emplace_back(x);
	}
	for(int i=32;i>=0;i--){
		if(vec[i].size()>=2){
			int size=vec[i].size();
			sort(vec[i].begin(),vec[i].end());
			printf("%d",vec[i][size-1]&vec[i][size-2]);
			return 0;
		}
	}
	return 0;
}
